package com.lanou3g.code0423;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;

/**
 * Created by dllo on 18/4/23.
 */
public class ReceiveClient {
    public static void main(String[] args) {
        try {
            //UDP协议  使用DatagramSoket
            //ds对象 可以用来接收/发送数据
            //准备接收数据的时候,需要在构造方法中
            //指定一个固定的端口号
            //如果  没有 指定端口号 ,那么就会随机绑定一个端口上
            //这时发送方就会不知道向哪个端口发数据
            //不适合传递大数据,适合传递小,对速度要求比较高的数据
            DatagramSocket ds = new DatagramSocket(7788);
            byte []buf=new byte[1024];
            DatagramPacket packet= new DatagramPacket(buf,buf.length);
            ds.receive(packet);
            String data= new String(packet.getData(),0,packet.getLength());
            System.out.println(data);
            byte[] s="我收到了".getBytes();
            //发送方的地址
            System.out.println(packet.getAddress());
            System.out.println(packet.getPort());
            DatagramPacket re= new DatagramPacket(s,s.length,packet.getAddress(),packet.getPort());
            ds.send(re);//发送数据给发送方

        } catch (Exception e) {
            e.printStackTrace();
        }

    }

}
